export const NODE_WIDTH = 30;
export const NODE_HEIGHT = 30;
export const MIN_ZOOM = 0.1;
export const MAX_ZOOM = 3.0;
export const ZOOM_STEP = 0.1;

export const RANK_SEP = 20;
export const NODE_SEP = 20;

export const NODE_TYPE_START = 'LITEFLOW_START';
export const NODE_TYPE_END = 'LITEFLOW_END';
export const NODE_TYPE_INTERMEDIATE_END = 'LITEFLOW_INTERMEDIATE_END';

export const LITEFLOW_EDGE = 'LITEFLOW_EDGE';
export const LITEFLOW_ANCHOR = 'LITEFLOW_ANCHOR';
export const LITEFLOW_ROUTER = 'LITEFLOW_ROUTER';

export const LINE_COLOR = '#c1c1c1';

export const NodeTypeEnum = Object.freeze({
  COMMON: 'NodeComponent',
  BOOLEAN: 'NodeBooleanComponent',
  SWITCH: 'NodeSwitchComponent',
  IF: 'NodeIfComponent',
  FOR: 'NodeForComponent',
  WHILE: 'NodeWhileComponent',
  BREAK: 'NodeBreakComponent',
  ITERATOR: 'NodeIteratorComponent',
  SCRIPT: 'ScriptCommonComponent',
  BOOLEAN_SCRIPT: 'ScriptBooleanComponent',
  SWITCH_SCRIPT: 'ScriptSwitchComponent',
  IF_SCRIPT: 'ScriptIfComponent',
  FOR_SCRIPT: 'ScriptForComponent',
  WHILE_SCRIPT: 'ScriptWhileComponent',
  BREAK_SCRIPT: 'ScriptBreakComponent',
  FALLBACK: 'fallback',
  VIRTUAL: 'NodeVirtualComponent',
});

export const ConditionTypeEnum = Object.freeze({
  CHAIN: 'CHAIN',
  THEN: 'THEN',
  SER: 'SER',
  WHEN: 'WHEN',
  PAR: 'PAR',
  SWITCH: 'SWITCH',
  IF: 'IF',
  PRE: 'PRE',
  FINALLY: 'FINALLY',
  FOR: 'FOR',
  WHILE: 'WHILE',
  ITERATOR: 'ITERATOR',
  BREAK: 'BREAK',
  CATCH: 'CATCH',
  AND: 'AND',
  OR: 'OR',
  NOT: 'NOT',
  ABSTRACT: 'ABSTRACT',
  DEFAULT: 'DEFAULT',
});

